package fr.afcepf.atod21.brigade.daoImpl;

import java.util.List;
import javax.persistence.EntityManager;
import fr.afcepf.atod21.brigade.dao.BasicDaoImpl;
import fr.afcepf.atod21.brigade.entity.Equipe;

public class EquipeDaoJpa extends BasicDaoImpl<Equipe> {

	@Override
	public void persist(Equipe anEntity) {
		EntityManager em = getEm();
		em.getTransaction().begin();
		em.persist(anEntity);
		em.getTransaction().commit();
	}

	@Override
	public Equipe merge(Equipe anEntity) {
		EntityManager em = getEm();
		em.getTransaction().begin();
		Equipe Equipe = em.merge(anEntity);
		em.getTransaction().commit();
		return Equipe;
	}

	@Override
	public void remove(Equipe anEntity) {
		EntityManager em = getEm();
		em.getTransaction().begin();
		em.remove(anEntity);
		em.getTransaction().commit();
	}

	@Override
	public Equipe read(int id) {
		return (Equipe) getEm().createQuery("select e from Equipe e where e.idEquipe = :paramId").setParameter("paramId", id).getSingleResult();
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Equipe> findAll() {
		return getEm().createQuery("select e from Equipe e").getResultList();
	}
}
